#ifndef APP_CLIENT_H
#define APP_CLIENT_H

#include "Socket.h"

class Client : public Socket
{
public:
    Client(/* args */);
    Client(const int port, const char *ip);
    Client(const int port, const char *ip, enum __socket_type type);
    ~Client();

    int Connect(void);
    ssize_t Read(void *buf, size_t count);
    ssize_t Readn(void *buf, size_t count);
    ssize_t Readline(void *buf);
    ssize_t Write(const void *buf, size_t count);
    ssize_t Writen(const void *buf, size_t count);
    ssize_t Send(const void *__buf, size_t __n, int __flags = 0);
    ssize_t Recv(void *__buf, size_t __n, int __flags = 0);

private:
    const int port;
    const char *ip;
};

#endif /* APP_CLIENT_H */
